package com.kh.pajx.sop.util.security.encoder;

/**
 * 密码加密接口
 * @author:	azzcsimp
 * @Createdate:	2014年7月21日 下午2:59:38
 */
public interface IPwdEncoder {
	
	/**
	 * 密码加密
	 * @param rawPass 为加密密码，null作为空串
	 * @return   String  加密后密码
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月21日 下午2:59:32
	 */
	public String encodePassword(String rawPass);

	/**
	 * 密码加密
	 * @param rawPass 未加密密码，null作为空串
	 * @param salt 混淆码
	 * @return   String 加密后密码
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月21日 下午3:00:32
	 */
	public String encodePassword(String rawPass, String salt);
	
	/**
	 * 验证密码是否正确
	 * @param encPass 加密密码
	 * @param rawPass 未加密密码，null作为空串
	 * @return  boolean ture:密码正确；false:密码错误
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月21日 下午3:01:17
	 */
	public boolean isPasswordValid(String encPass, String rawPass);
	
	/**
	 * 验证密码是否正确
	 * @param encPass 加密密码
	 * @param rawPass 未加密密码，null作为空串
	 * @param salt 混淆码
	 * @return   boolean ture:密码正确；false:密码错误
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月21日 下午3:02:17
	 */
	public boolean isPasswordValid(String encPass, String rawPass, String salt); 
}
